Asian Range IndicatorIndicator Name:
Asian Range Indicator
Description:
This TradingView indicator is designed to accurately detect the price range during the Asian session, based on our trading strategy. This range is crucial for planning trades in the European and American sessions. Using advanced algorithms, the indicator automatically identifies and plots the highs and lows within the Asian session period, highlighting them on the chart with shaded areas for clear visualization. This helps traders anticipate breakouts and set more precise entry and exit levels.
How to Use the Indicator:
Add the indicator to your TradingView chart.
Observe the shaded areas representing the Asian range.
Use these levels to plan your trades during the European and American sessions.
Combine with other technical indicators to confirm your trading decisions.
Chart:
The chart published with this script is clean and easy to understand, clearly showing the Asian range highlighted with shaded areas. No other scripts are included, ensuring the indicator's output is easily identifiable. The shaded areas contribute to the visual understanding of the Asian range, helping traders effectively use the script.
在腳本中搜尋"the script"
Wave LineWave Line is a chart type obtained by plotting the High and Low values in each time interval according to their sequential order. This method produces a continuous line rather than bars, which is beneficial for analyzing changes within each interval rather than focusing on the price range and open/close values. E.g for Wave Analysis.
How to use:
1. Adjust the interval unit and multiplier for the main timeframe.
2. Ideally, select a lower timeframe on your chart, approximately 5 times smaller than the one specified for the script.
3. Lower Timeframe is the timeframe which will be the scripts reference when the high and low of the main timeframe align on a single bar of the opened chart. This timeframe may also be 5-10 times smaller than the main timeframe. It is important to note that this should not be excessively smaller as the script may fail in retrieving data. An alternative method is included to estimate the order if it is not clear in the fetched data.
4. Set a preferred value for Monowave Length, indicating the number of bars a monowave will cover horizontally. Set the value to be half of the Interval Multiplier for the Wave Line to align with the bar chart. However if the multiplier is an odd number, perfect alignment may not be achieved.
5. Ensure that the product of Max Polyline Segments and Monowave length does not exceed 5000, and adjust the value for Max Polyline Segments accordingly.
Optimal Buy Day (Zeiierman)█ Overview
The Optimal Buy Day (Zeiierman) indicator identifies optimal buying days based on historical price data, starting from a user-defined year. It simulates investing a fixed initial capital and making regular monthly contributions. The unique aspect of this indicator involves comparing systematic investment on specific days of the month against a randomized buying day each month, aiming to analyze which method might yield more shares or a better average price over time. By visualizing the potential outcomes of systematic versus randomized buying, traders can better understand the impact of market timing and how regular investments might accumulate over time.
These statistics are pivotal for traders and investors using the script to analyze historical performance and strategize future investments. By understanding which days offered more shares for their money or lower average prices, investors can tailor their buying strategies to potentially enhance returns.
█ Key Statistics
⚪ Shares
Definition: Represents the total number of shares acquired on a particular day of the month across the entire simulation period.
How It Works: The script calculates how many shares can be bought each day, given the available capital or monthly contribution. This calculation takes into account the day's opening price and accumulates the total shares bought on that day over the simulation period.
Interpretation: A higher number of shares indicates that the day consistently offered better buying opportunities, allowing the investor to acquire more shares for the same amount of money. This metric is crucial for understanding which days historically provided more value.
⚪ AVG Price
Definition: The average price paid per share on a particular day of the month, averaged over the simulation period.
How It Works: Each time shares are bought, the script calculates the average price per share, factoring in the new shares purchased at the current price. This average evolves over time as more shares are bought at varying prices.
Interpretation: The average price gives insight into the cost efficiency of buying shares on specific days. A lower average price suggests that buying on that day has historically led to better pricing, making it a potentially more attractive investment strategy.
⚪ Buys
Definition: The total number of transactions or buys executed on a particular day of the month throughout the simulation.
How It Works: This metric increments each time shares are bought on a specific day, providing a count of all buying actions taken.
Interpretation: The number of buys indicates the frequency of investment opportunities. A higher count could mean more consistent opportunities for investment, but it's important to consider this in conjunction with the average price and the total shares acquired to assess overall strategy effectiveness.
⚪ Most Shares
Definition: Identifies the day of the month on which the highest number of shares were bought, highlighting the specific day and the total shares acquired.
How It Works: After simulating purchases across all days of the month, the script identifies which day resulted in the highest total number of shares bought.
Interpretation: This metric points out the most opportune day for volume buying. It suggests that historically, this day provided conditions that allowed for maximizing the quantity of shares purchased, potentially due to lower prices or other factors.
⚪ Best Price
Definition: Highlights the day of the month that offered the lowest average price per share, indicating both the day and the price.
How It Works: The script calculates the average price per share for each day and identifies the day with the lowest average.
Interpretation: This metric is key for investors looking to minimize costs. The best price day suggests that historically, buying on this day led to acquiring shares at a more favorable average price, potentially maximizing long-term investment returns.
⚪ Randomized Shares
Definition: This metric represents the total number of shares acquired on a randomly selected day of the month, simulated across the entire period.
How It Works: At the beginning of each month within the simulation, the script selects a random day when the market is open and calculates how many shares can be purchased with the available capital or monthly contribution at that day's opening price. This process is repeated each month, and the total number of shares acquired through these random purchases is tallied.
Interpretation: Randomized shares offer a comparison point to systematic buying strategies. By comparing the total shares acquired through random selection against those bought on the best or worst days, investors can gauge the impact of timing and market fluctuations on their investment strategy. A higher total in randomized shares might indicate that over the long term, the specific days chosen for investment might matter less than consistent market participation. Conversely, if systematic strategies yield significantly more shares, it suggests that timing could indeed play a crucial role in maximizing investment returns.
⚪ Randomized Price
Definition: The average price paid per share for the shares acquired on the randomly selected days throughout the simulation period.
How It Works: Each time shares are bought on a randomly chosen day, the script calculates the average price paid for all shares bought through this randomized strategy. This average price is updated as the simulation progresses, reflecting the cost efficiency of random buying decisions.
Interpretation: The randomized price metric helps investors understand the cost implications of a non-systematic, random investment approach. Comparing this average price to those achieved through more deliberate, systematic strategies can reveal whether consistent investment timing strategies outperform random investment actions in terms of cost efficiency. A lower randomized price suggests that random buying might not necessarily result in higher costs, while a higher average price indicates that systematic strategies might provide better control over investment costs.
█ How to Use
Traders can use this tool to analyze historical data and simulate different investment strategies. By inputting their initial capital, regular contribution amount, and start year, they can visually assess which days might have been more advantageous for buying, based on historical price actions. This can inform future investment decisions, especially for those employing dollar-cost averaging strategies or looking to optimize entry points.
█ Settings
StartYear: This setting allows the user to specify the starting year for the investment simulation. Changing this value will either extend or shorten the period over which the simulation is run. If a user increases the value, the simulation begins later and covers a shorter historical period; decreasing the value starts the simulation earlier, encompassing a longer time frame.
Capital: Determines the initial amount of capital with which the simulation begins. Increasing this value simulates starting with more capital, which can affect the number of shares that can be initially bought. Decreasing this value simulates starting with less capital.
Contribution: Sets the monthly financial contribution added to the investment within the simulation. A higher contribution increases the investment each month and could lead to more shares being purchased over time. Lowering the contribution decreases the monthly investment amount.
-----------------
Disclaimer
The information contained in my Scripts/Indicators/Ideas/Algos/Systems does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My Scripts/Indicators/Ideas/Algos/Systems are only for educational purposes!
RSI Graphique and Dashboard MTFMTF RSI Indicator - User Guide
Introduction:
The MTF RSI (Multi-Timeframe Relative Strength Index) Pine Script is designed to provide traders with a comprehensive view of the RSI (Relative Strength Index) across multiple timeframes. The script includes a primary chart displaying RSI values and a dashboard summarizing RSI trends for different time intervals.
Installation:
Copy the provided Pine Script.
Open the TradingView platform.
Create a new script.
Paste the copied code into the script editor.
Save and apply the script to your chart.
Primary Chart:
The primary chart displays RSI values for the selected timeframe (5, 15, 60, 240, 1440 minutes).
different color lines represent RSI values for different timeframes.
Overbought and Oversold Levels:
Overbought levels (70) are marked in red, while oversold levels (30) are marked in blue for different timeframes.
Dashboard:
The dashboard is a quick reference for RSI trends across multiple timeframes.
Each row represents a timeframe with corresponding RSI trend information.
Arrows (▲ for bullish, ▼ for bearish) indicate the current RSI trend.
Arrow colors represent the trend: blue for bullish, red for bearish.
Settings:
Users can customize the RSI length, background color, and other parameters.
The background color of the dashboard can be adjusted for light or dark themes.
Interpretation:
Bullish Trend: ▲ arrow and blue color.
Bearish Trend: ▼ arrow and red color.
RSI values above 70 may indicate overbought conditions, while values below 30 may indicate oversold conditions.
Practical Tips:
Timeframe Selection: Consider the trend alignment across different timeframes for comprehensive market analysis.
Confirmation: Use additional indicators or technical analysis to confirm RSI signals.
Backtesting: Before applying in live trading, conduct thorough backtesting to evaluate the script's performance.
Adjustment: Modify settings according to your trading preferences and market conditions.
Disclaimer:
This script is a tool for technical analysis and should be used in conjunction with other indicators. It is not financial advice, and users should conduct their own research before making trading decisions. Adjust settings based on personal preferences and risk tolerance. Use the script responsibly and at your own risk.
No Wick Bull/Bear Candlesticks with Arrow premiumNo Wick Bull/Bear Candlesticks with Arrow premium
This script is for a custom trading indicator called "No Wick Bull/Bear Candlesticks with Arrow premium" developed by ClearTradingMind. It is designed for use with trading platforms that support scripting, such as TradingView. This indicator combines several technical analysis tools to help traders identify potential buy and sell signals in a financial market.
Key Components of the Indicator:
Moving Average (MA): The script allows users to select from various types of moving averages (SMA, EMA, HMA, etc.), which smooth out price data to identify trends. Users can set the length and type of the moving average.
Upper and Lower Bands: These bands are set at a specified deviation percentage above and below the chosen moving average. They help in identifying overbought and oversold conditions.
No Wick Bull/Bear Candlestick Identification:
Bullish Condition: A bullish candlestick is identified when the closing price is higher than the opening price, the low equals the open, and the close is above the moving average.
Bearish Condition: A bearish candlestick is identified when the closing price is lower than the opening price, the high equals the open, and the close is below the moving average.
No Wick: These conditions also imply that the candlesticks have no wicks, suggesting strong buying or selling pressure.
Arrows for Trading Signals:
No lower wick bull bar
No upper wick bear bar
When a bullish condition is met, a green upward-pointing triangle is plotted below the candlestick, indicating a potential buy signal.
When a bearish condition is met, a red downward-pointing triangle is plotted above the candlestick, indicating a potential sell signal.
EMA 20: An additional Exponential Moving Average with a length of 20 periods is plotted for further trend analysis.
Background Color Changes: The script changes the background color to blue if the EMA 20 is above the upper band, and to red if it is below the lower band, providing visual cues about the market trend.
How It Works:
Traders can input their preferences for the moving average type and length, source of the MA (like closing prices), and the deviation percentage for the bands.
The script then calculates the moving average, upper and lower bands, and checks for bullish or bearish candlestick conditions without wicks.
When such conditions are met, it plots arrows to suggest buy or sell signals.
The EMA 20 and background color changes offer additional trend information.
Usage:
This indicator is particularly useful in markets with clear trends. The no wick bull/bear candlesticks indicate strong buying or selling pressure, and the arrows provide clear visual signals for traders to consider entering or exiting positions. As with all trading indicators, it's recommended to use this tool in conjunction with other forms of analysis to confirm trading signals.
Liquidation Ranges + Volume/OI Dots [Kioseff Trading]Hello!
Introducing a multi-faceted indicator "Liquidation Ranges + Volume Dots" - this indicator replicates the volume dot tools found on various charting platforms and populates a liquidation range on crypto assets!
Features
Volume/OI dots populated according to user settings
Size of volume/OI dots corresponds to degree of abnormality
Naked level volume dots
Fixed range capabilities for volume/OI dots
Visible time range capabilities for volume/OI dots
Lower timeframe data used to discover iceberg orders (estimated using 1-minute data)
S/R lines drawn at high volume/OI areas
Liquidation ranges for crypto assets (10x - 100x)
Liquidation ranges are calculated using a popular crypto exchange's method
# of violations of liquidation ranges are recorded and presented in table
Pertinent high volume/OI price areas are recorded and presented in table
Personalized coloring for volume/OI dots
Net shorts / net long for the price range recorded
Lines shows reflecting net short & net long increases/decreases
Configurable volume/OI heatmap (displayed between liquidation ranges)
And some more (:
Liquidation Range
The liquidation range component of the indicator uses a popular crypto exchange's calculation (for liquidation ranges) to populate the chart for where 10x - 100x leverage orders are stopped out.
The image above depicts features corresponding to net shorts and net longs.
The image above shows features corresponding to liquidation zones for the underlying coin.
The image above shows the option to display volume/oi delta at the time the corresponding grid was traded at.
The image above shows an instance of using the "fixed range" feature for the script.
*The average price of the range is calculated to project liquidation zones.
*Heatmap is calculated using OI (or volume) delta.
Huge thank you to Pine Wizard @DonovanWall for his range filter code!
Price ranges are automatically detected using his calculation (:
Volume / OI Dots
Similar to other charting platforms, the volume/OI dots component of the indicator distinguishes "abnormal" changes in volume/OI; the detected price area is subsequently identified on the chart.
The detection method uses percent rank and calculates on the last bar of the chart. The "agelessness" of detection is contingent on user settings.
The image above shows volume dots in action; the size of each volume dot corresponds to the amount of volume at the price area.
Smaller dots = lower volume
Larger dots = higher volume
The image above exemplifies the highest aggression setting for volume/OI dot detection.
The table oriented top-right shows the highest volume areas (discovered on the 1-minute chart) for the calculated period.
The open interest change and corresponding price level are also shown. Results are listed in descending order but can also be listed in order of occurrence (most relevant).
Additionally, you can use the visible time range feature to detect volume dots.
The feature shows and explains how the visible range feature works. You select how many levels you want to detect and the script will detect the selected number of levels.
For instance, if I select to show 20 levels, the script will find the 20 highest volume/OI change price areas and distinguish them.
The image above shows a narrower price range.
The image above shows the same price range; however, the script is detecting the highest OI change price areas instead of volume.
* You can also set a fixed range with this feature
* Naked levels can be used
Additionally, you can select for the script to show only the highest volume/ OI change price area for each bar. When active, the script will successively identify the highest volume / OI change price area for the most recent bars.
Naked Levels
The image above shows and explains how naked levels can be detected when using the script.
And that's pretty much it!
Of course, there're a few more features you can check out when you use the script that haven't been explained here (:
Thank you again to @DonovanWall
Thank you to @Trendoscope for his binary insertion sort library (:
Thank you to @PineCoders for their time library
Thank you for checking this out!
EMA + Supertrend with BUY a SELL signals by @zeusbottradingwe are presenting you new indicator with opensource script,
this indicator uses 3x EMAs and 2 supertrends. Supertrends generate SELL or BUY labels when they are both red or green, meaning uptrend or downtrend. Main idea behind this indicator is filtering supertrend labels by 3 EMAs (filter>All EMAs Aligned) or just 1 EMA 200 Only. EMA (Esxponential Moving Average) measures trend direction over a period of time . EMA should follow price section more closely than others moving averages. In the script is defaulty set EMA1 to calculet on 21 previouse candles which is good for calculating fast moving trends. EMA2 is defaulty set on 50 previouse candles which is use for medium moving trends. End lastly EMA3 is defaulty set on 200 candles to calculate long period moving trend.
You can setup sources of all EMAs and Supertrend values including ATR period and multiplier.
We also included Bearish and Bullish Engulfing candles for more precise entries. Bearish and Bullish Engulfing candels are marked by little triangle. Bearish candles means red candles, Bullish candles means green candles. Engulfing candles should be bigger than previouse candle. Engulfing candles used to indicate a market reversal
Buy signal is shown when close is between ATRs and close price of the candle is bigger than EMA3 when its used in Filter section 200 EMA Only . If in Filter section is choosed ALL EMAs Aligned Buy signal is shown when close is between ATRs and close price of the candle is bigger than EMA1 , EMA1 is bigger than EMA2 and EMA2 is bigger than EMA3 .
Sell signal is shown when close is between ATRs and close price of the candle is lower than EMA3 when its used in Filter section 200 EMA Only . If in Filter section is choosedALL EMAs Aligned Sell signal is shown when close is between ATRs and close price of the candle is lower than EMA1, EMA1 is lower than EMA2 and EMA2 is lower than EMA3 .
ATR (Average True Range) it is trading system that measures market volatility by decomposing the entire range of an asset price for choosen period.
You can use this indicator on any timeframe and any instrument.
Made with ❤️ for this community.
If you have any questions or suggestions, let us know.
The script is for informational and educational purposes only. Use of the script does not constitutes professional and/or financial advice. You alone the sole responsibility of evaluating the script output and risks associated with the use of the script. In exchange for using the script, you agree not to hold zeusbottrading TradingView user liable for any possible claim for damages arising from any decision you make based on use of the script.
Multi PivotsThis script is meant for day traders. It's based on the CPR concepts. The pivots plots based on the timeframe, means less that 15minuts it will plot daily pivots, less that daily tf, it plots weekly and then monthly. It also includes Camarillas, ADR levels, Fibonacci levels based on last 500 candles, Fib pivots, Pivot zones, developing pivot, Vwap, Dashboard shows RSI,ADX,Vwap,SuperTrend and day price difference. Options available to plot Day HighLow, Initial Balance levels as well. There is option to show running CPR which highlights virgin CPR. It can plot next day pivots as well
I dont own any of codes or ideas in the script. Codes are taken from different scripts and altered based on the requirements. Kudos to all the great pinecoders who provided their codes as public which helps everyone. Thanks
DMI StrategyThis strategy is based on DMI indicator. It helps me to identify base or top of the script. I mostly use this script to trade in Nifty bank options, even when the signal comes in nifty . It can be used to trade in other scripts as well. Pivot points can also be used to take entry. Long entry is taken when DI+(11) goes below 10 and DI-(11) goes above 40 , whereas short entry is taken when DI-(11) goes below 10 and DI+(11) goes above 40.
For bank nifty , I take the trade in the strike price for which the current premium is nearby 300, with the SL of 20%. If premium goes below 10% I buy one more lot to average, but exit if the premium goes below 20% of the first entry. If the trade moves in the correct direction, we need to start trailing our stoploss or exit at the pre-defined target.
As this a strategy, there is one problem. While we are in the phase of "long", if again the "long" phase comes, it will not be shown on chart until a "short" phase has come, and vice versa. This has been resolved by creating an indicator instead of strategy with the name of "DMI Buy-sell on chart". Please go through that to get more entry points.
Please have a look at strategy tester to back test
3LS | 3 Line Strike Strategy [Kintsugi Trading]What is the 3LS | 3 Line Strike Strategy?
Incorporating the 3 Line Strike candlestick pattern into our strategy was inspired by Arty at The Moving Average and the amazing traders at TheTrdFloor .
The Three Line Strike is a trend continuation candlestick pattern consisting of four candles. Depending on their heights and collocation, a bullish or a bearish trend continuation can be predicted.
In a symphony of trend analysis, price action, and volume we can find and place high-probability trades with the 3LS Strategy.
How to use it!
----- First, start by choosing a Stop-Loss Strategy, Stop PIP Size, and Risk/Reward Ratio -----
- Stop-Loss Strategy
Fixed PIP Size – This uses the top/bottom of the indicator candle and places a TP based on the chosen Risk:Reward ratio.
ATR Trail (No set Target Profit, only uses ATR Stop)
ATR Trail-Stop (Has set Target Profit, however, stop is based on ATR inputs)
**If you choose an ATR Stop-Loss Strategy - input the desired ATR period and Multiple you would like the stop to be calculated at**
**ATR Stop-Loss Strategies have a unique alert setup for Auto-Trading. See Auto-Trading Section**
- Risk/Reward Ratio = If you have a .5 risk/reward, it means you are risking $100 to make $50.
- Additional Stop PIP Size = Number of PIPs over the default stop location of the top or bottom of the indicator candle.
----- Next, we set the Session Filter -----
Set the Timezone and Trade Session you desire. If no specific session is desired, simply set the Trade Session to 00:00 - 00:00.
----- Next, we set the Moving Average Cloud Fill -----
Enter the Fast and Slow Moving Average Length used to calculate trend direction:
MA Period Fast
MA Period Slow
These inputs will determine whether the strategy looks for Long or Short positions.
----- Next, we set the VSA – Volume Spread Analysis Settings -----
Check the box to show the indicator at the bottom of the chart if desired.
This is just a different visual output of the VSA | Volume Spread Analysis indicator available for free under the community indicators tab. You can add that indicator to your chart and see the same output in candle format.
In combination with the Moving Average Cloud, the Volume Spread Analysis will help us determine when to take a trade and in what direction.
The strategy is essentially looking for small reversals going against the overall trend and placing a trade once that reversal ends and the price moves back in the direction of the overall trend.
The 3LS Strategy utilizes confirmation between trend, volume, and price action to place high probability trades.
The VSA is completely customizable by:
Moving Average Length
MA-1 Multiplier
MA-2 Multiplier
MA-3 Multiplier
Check out the VSA | Volume Spread Analysis indicator in the community scripts section under the indicators tab to use this awesome resource on other strategies.
----- Next, we have the option to view the automated KT Bull/Bear Signals -----
Check the boxes to show the buy-sell signal on the chart if desired.
----- Next, we set the risk we want to use if Auto Trading the strategy -----
I always suggest using no more than 1-3% of your total account balance per trade. Remember, if you have multiple strategies triggering per day with each using 1%, the total percent at risk will be much larger.
For Example – if you have 10 strategies each risking 1% your total risk is 10% of your account, not 1%! Be mindful to only use 1-3% of your total account balance across all strategies, not just each individual one.
----- Finally, we backtest our ideas -----
After using the 'Strategy Tester' tab on TradingView to thoroughly backtest your predictions you are ready to take it to the next level - Automated Trading!
This was my whole reason for creating the script. If you work a full-time job, live in a time zone that is hard to trade, or just don't have the patience, this will be a game-changer for you as it was for me.
Auto-Trading
When it comes to auto-trading this strategy I have included two options in the script that utilize the alert messages generated by TradingView.
*Note: Please trade on a demo account until you feel comfortable enough to use real money, and then please stick to 1%-2% of your total account value in risk per trade.*
AutoView
PineConnector
**ATR Auto-Trading Alert Setup**
How to create alerts on 3 Line Strike Strategy
For Trailing Stops:
1) Adjust autoview/pineconnector settings
2) Click "add alert"
3) Select "Condition" = Strategy Name
4) Select "Order Fills Only" from the drop-down
3) Remove template message text from "message" box and place the exact text. '{{strategy.order.alert_message}}'
4) Click "create"
For Fixed Pip Stop:
1) Adjust autoview/pineconnector settings
2) Click "add alert"
3) Select "Condition" = Strategy Name
4) Select "alert() function calls only"
5) I like to title my Alert Name the same thing I named it as an Indicator Template to keep track
Good luck with your trading!
DMI StrategyThis strategy is based on DMI indicator. It helps me to identify base or top of the script. I mostly use this script to trade in Nifty bank options, even when the signal comes in nifty. It can be used to trade in other scripts as well. Pivot points can also be used to take entry. Long entry is taken when DI+(11) goes below 10 and DI-(11) goes above 40, whereas short entry is taken when DI-(11) goes below 10 and DI+(11) goes above 40.
For bank nifty, I take the trade in the strike price for which the current premium is nearby 300, with the SL of 20%. If premium goes below 10% I buy one more lot to average, but exit if the premium goes below 20% of the first entry. If the trade moves in the correct direction, we need to start trailing our stoploss or exit at the pre-defined target.
Please have a look at strategy tester to back test.
Bitcoin Risk Long Term indicatorOBJECTIVE:
The purpose of this indicator is to synthesize via an average several indicators from a wide choice with in order to simplify the reading of the bitcoin price and that on a long term vision.
Useful for those who want to see things simply, typically to make a smart DCA based on risk.
I originally used this script as a sandbox to understand and test the usefulness of several indicators, and to develop my PineScript skills, but finally the Risk Indicator output seems relevant so I decided to share it.
USAGE:
The selected indicators are the ones that I think give the best market bottoms, but the idea here is that anyone can try and use any set of indicators based on those preferences (post in comments if you find a relevant config)
Most of the indicator inputs are configurable. And some are not taken into account in the calculation of the Risk indicator because I consider them not relevant, this script is also a test more than a final version.
NOTES :
If you have any idea of adding an indicator, modification, criticism, bug found: share them, it is appreciated!
In the future I will create another more versatile Risk indicator that will not be focused on bitcoin in weekly. (this indicator is still usable on other assets and timeframe)
THANKS:
to Benjamin Cowen for inspiring me with his Bitcoin Risk metric
to Lazybear for his Wavetrend Indicator and all the scripts he shares
to Mabonyi for his Bitcoin Logarithmic Growth Curves & Zones script
to VuManChu for his VMC Cypher B Divergence
to the Trading view team for developing TV and PineScript
And to all the community for all the published codes that allowed me to progress and create this script
---- FR ----
OBJECTIF :
L'objectif de cet indicateur est de synthétiser via une moyenne plusieurs indicateurs parmi un large choix avec afin de simplifier la lecture du cours de bitcoin et cela sur une vision longue terme.
Utile pour ceux qui veulent voir les choses simplement, typiquement faire un DCA intelligent en fonction du risque.
À la base j'ai utilisé ce script comme un bac à sable pour comprendre puis tester l'utilité de plusieurs indicateurs, et développer mes compétences PineScript, mais finalement l'output Risk Indicateur me semble pertinent donc autant le partager.
UTILISATION :
Les indicateurs sélectionnés sont ceux qui permettent selon moi d'avoir les meilleurs point bas de marché, mais l'idée ici est que chacun puisse essayer et utiliser n'importe quel ensemble d'indicateur en fonction de ces préférences (poster en commentaire si vous trouvez une configuration pertinente)
La plupart des inputs indicateurs sont paramétrables. Et certains ne sont pas pris en compte dans le calcul du Risk indicateur car je les estime non pertinent, ce script est aussi un essai plus qu'une version finale.
NOTES :
Si vous avez la moindre idée d'ajout d'indicateur, modification, critique, bug trouvé : partagez-les, c'est apprécié !
à l'avenir je créerais un autre Risk indicator plus polyvalent qui ne sera pas focalisé sur bitcoin en weekly. (cet indicateur est tout de même utilisable sur d'autre actif et timeframe)
REMERCIEMENT :
à Benjamin Cowen pour m'avoir inspiré avec son Bitcoin Risk metric
à Lazybear pour son Wavetrend Indicator et globalement tout les scripts qu'il partage
à Mabonyi pour son script Bitcoin Logarithmic Growth Curves & Zones
à VuManChu pour son VMC Cypher B Divergence
à l'équipe Trading view pour avoir développé TV et PineScript
Et à toute la communauté pour tous les codes publiés qui m'ont permis de progresser et de créer ce script
Trend Analysis Index [CC]The Trend Analysis Index was created by Adam White and not to be confused with the Trend Analysis Indicator that I also published. This indicator operates under the same idea but using a completely different calculation to achieve similar results. The idea behind this indicator is for a combination of volatility and trend confirmation. If the indicator is above it's signal line then the stock is very volatile and vice versa. If the stock is currently trending as in above a chosen moving average for example and the indicator falls below the signal line then there is a pretty good chance in a trend reversal. The recommended buy and sell system to use is to pair this indicator with a moving average crossover system which I have included in the script. Buy when the indicator is above it's signal and the shorter moving average crosses above the longer moving average. For selling you would do the same and sell when the indicator is above it's signal and the shorter moving average crosses below the longer moving average. I have included strong buy and sell signals in addition to the normal ones so stronger signals are darker in color and normal signals are lighter in color.
Let me know what other indicators or scripts you would like to see me publish!
[CLX][#01] Animation - Price Ticker (Marquee)This indicator displays a classic animated price ticker overlaid on the user’s current chart. It is possible to fully customize it or to select one of the predefined styles.
A detailed description will follow in the next few days.
Used Pinescript technics:
- varip (view/animation)
- tulip instance (config/codestructur)
- table (view/position)
By the way, for me, one of the coolest animated effects is by Duyck
We hope you enjoy it! 🎉
CRYPTOLINX - jango_blockchained 😊👍
Disclaimer:
Trading success is all about following your trading strategy and the indicators should fit within your trading strategy, and not to be traded upon solely.
The script is for informational and educational purposes only. Use of the script does not constitute professional and/or financial advice. You alone have the sole responsibility of evaluating the script output and risks associated with the use of the script. In exchange for using the script, you agree not to hold dgtrd TradingView user liable for any possible claim for damages arising from any decision you make based on use of the script.
MTF Oscillator Framework [PineCoders]This framework allows Pine coders to quickly build a complete multi-timeframe oscillator from any calculation producing values around a centerline, whether the values are bounded or not. Insert your calculation in the script and you have a ready-to-publish MTF Oscillator offering a plethora of presentation options and features.
█ HOW TO USE THE FRAMEWORK
1 — Insert your calculation in the `f_signal()` function at the top of the "Helper Functions" section of the script.
2 — Change the script's name in the `study()` declaration statement and the `alertcondition()` text in the last part of the "Plots" section.
3 — Adapt the default value used to initialize the CENTERLINE constant in the script's "Constants" section.
4 — If you want to publish the script, copy/paste the following description in your new publication's description and replace the "OVERVIEW" section with a description of your calculations.
5 — Voilà!
═════════════════════════════════════════════════════════════════════════
█ OVERVIEW
This oscillator calculates a directional value of True Range. When a bar is up, the positive value of True Range is used. A negative value is used when the bar is down. When there is no movement during the bar, a zero value is generated, even if True Range is different than zero. Because the unit of measure of True Range is price, the oscillator is unbounded (it does not have fixed upper/lower bounds).
True Range can be used as a metric for volatility, but by using a signed value, this oscillator will show the directional bias of progressively increasing/decreasing volatility, which can make it more useful than an always positive value of True Range.
The True Range calculation appeared for the first time in J. Welles Wilder's New Concepts in Technical Trading Systems book published in 1978. Wilder's objective was to provide a reliable measure of the effective movement—or range—between two bars, to measure volatility. True Range is also the building block used to calculate ATR (Average True Range), which calculates the average of True Range values over a given period using the `rma` averaging method—the same used in the calculation of another of Wilder's remarkable creations: RSI.
█ CONCEPTS
This oscillator's design stems from a few key concepts.
Relative Levels
Other than the centerline, relative rather than absolute levels are used to identify levels of interest. Accordingly, no fixed levels correspond to overbought/oversold conditions. Relative levels of interest are identified using:
• A Donchian channel (historical highs/lows).
• The oscillator's position relative to higher timeframe values.
• Oscillator levels following points in time where a divergence is identified.
Higher timeframes
Two progressively higher timeframes are used to calculate larger-context values for the oscillator. The rationale underlying the use of timeframes higher than the chart's is that, while they change less frequently than the values calculated at the chart's resolution, they are more meaningful because more work (trader activity) is required to calculate them. Combining the immediacy of values calculated at the chart's resolution to higher timeframe values achieves a compromise between responsiveness and reliability.
Divergences as points of interest rather than directional clues
A very simple interpretation of what constitutes a divergence is used. A divergence is defined as a discrepancy between any bar's direction and the direction of the signal line on that same bar. No attempt is made to attribute a directional bias to divergences when they occur. Instead, the oscillator's level is saved and subsequent movement of the oscillator relative to the saved level is what determines the bullish/bearish state of the oscillator.
Conservative coloring scheme
Several additive coloring conditions allow the bull/bear coloring of the oscillator's main line to be restricted to specific areas meeting all the selected conditions. The concept is built on the premise that most of the time, an oscillator's value should be viewed as mere noise, and that somewhat like price, it only occasionally conveys actionable information.
█ FEATURES
Plots
• Three lines can be plotted. They are named Main line , Line 2 and Line 3 . You decide which calculation to use for each line:
• The oscillator's value at the chart's resolution.
• The oscillator's value at a medium timeframe higher than the chart's resolution.
• The oscillator's value at the highest timeframe.
• An aggregate line calculated using a weighed average of the three previous lines (see the Aggregate Weights section of Inputs to configure the weights).
• The coloring conditions, divergence levels and the Hi/Lo channel always apply to the Main line, whichever calculation you decide to use for it.
• The color of lines 2 and 3 are fixed but can be set in the "Colors" section of Inputs.
• You can change the thickness of each line.
• When the aggregate line is displayed, higher timeframe values are only used in its calculation when they become available in the chart's history,
otherwise the aggregate line would appear much later on the chart. To indicate when each higher timeframe value becomes available,
a small label appears near the centerline.
• Divergences can be shown as small dots on the centerline.
• Divergence levels can be shown. The level and fill are determined by the oscillator's position relative to the last saved divergence level.
• Bull/bear markers can be displayed. They occur whenever a new bull/bear state is determined by the "Main Line Coloring Conditions".
• The Hi/Lo (Donchian) channel can be displayed, and its period defined.
• The background can display the state of any one of 11 different conditions.
• The resolutions used for the higher timeframes can be displayed to the right of the last bar's value.
• Four key values are always displayed in the Data Window (fourth icon down to the right of your chart):
oscillator values for the chart, medium and highest timeframes, and the oscillator's instant value before it is averaged.
Main Line Coloring Conditions
• Nine different conditions can be selected to determine the bull/bear coloring of the main line. All conditions set to "ON" must be met to determine the bull/bear state.
• A volatility state can also be used to filter the conditions.
• When the coloring conditions and the filter do not allow for a bull/bear state to be determined, the neutral color is used.
Signal
• Seven different averages can be used to calculate the average of the oscillator's value.
• The average's period can be set. A period of one will show the instant value of the oscillator,
provided you don't use linear regression or the Hull MA as they do not work with a period of one.
• An external signal can be used as the oscillator's instant value. If an already averaged external value is used, set the period to one in this indicator.
• For the cases where an external signal is used, a centerline value can be set.
Higher Timeframes
• The two higher timeframes are named Medium timeframe and Highest timeframe . They can be determined using one of three methods:
• Auto-steps: the higher timeframes are determined using the chart's resolution. If the chart uses a seconds resolution, for example,
the medium and highest resolutions will be 15 and 60 minutes.
• Multiples: the timeframes are calculated using a multiple of the chart's resolution, which you can set.
• Fixed: the set timeframes do not change with the chart's resolution.
Repainting
• Repainting can be controlled separately for the chart's value and the higher timeframe values.
• The default is a repainting chart value and non-repainting higher timeframe values. The Aggregate line will thus repaint by default,
as it uses the chart's value along with the higher timeframes values.
Aggregate Weights
• The weight of each component of the Aggregate line can be set.
• The default is equal weights for the three components, meaning that the chart's value accounts for one third of the weight in the Aggregate.
High Volatility
• This provides control over the volatility filter used in the Main line's coloring conditions and the background display.
• Volatility is determined to be high when the short-term ATR is greater than the long-term ATR.
Colors
• You can define your own colors for all of the oscillator's plots.
• The default colors will perform well on both white and black chart backgrounds.
Alerts
• An alert can be defined for the script. The alert will trigger whenever a bull/bear marker appears in the indicator's display.
The particular combination of coloring conditions and the display of bull/bear markers when you create the alert will thus determine when the alert triggers.
Once the alerts are created, subsequent changes to the conditions controlling the display of markers will not affect the existing alert(s).
• You can create multiple alerts from this script, each triggering on different conditions.
Backtesting & Trading Engine Signal Line
• An invisible plot named "BTE Signal" is provided. It can be used as an entry signal when connected to the PineCoders Backtesting & Trading Engine as an external input.
It will generate an entry whenever a marker is displayed.
Look first. Then leap.
Support Resistance - DynamicThis is Dynamic Support / Resistance script.
How it Works?
It finds Pivot Points and creates channels for each Pivot Point. Channel size is calculated by (Highest - Lowest) * %Channel_size in Loopback Period. After creating channels it calculates that how many Pivot Points in the channels. more Pivot Points in channel means stronger Support/Resistance. in the option menu there is S/R Strength, this is the minimum number of Pivot Points that each channel must contain to be S/R. calculation starts from last pivot point and go back for "loopback period" which is 300 by default. so last Pivot Points have more priority. Finally after calculating Support/Resistance it draws lines.
Number of Support/Resistance line is Dynamic and up to 20 lines, that means number of lines changes dynamically. you can see how the script puts Suppport/Resistance lines dynamically by "Replay" button. (if I have time I will try to put a video)
Currently the scripts checks up to 40 pivot points in loopback period. it shows up to 20 S/Rs only for visible area in the chart.
There is option to Show S/R lines as Solid, Dotted or Dashed.
Enjoy!
Plotchar - How to draw external symbols on a chartHey everyone
It's been a while :) but still on holidays and working on the website. I'll resume the scripts sharing shortly once I'll get back home
For today, I wanted to share a very useful script that is going to make you a top of money 100% guaranteed and you'll even have a Lamborghini delivered at your place by tomorrow... (imagine some followers would believe me for this)
This "script" is a proof of concept that you can draw external Unicode symbols on a chart.
If you're tired with the plotshape shapes by default, you can use some others - I usually find mine there emojipedia.org
What are the use cases?
- Draw a dead skeleton when your stop-loss is hit
- Draw a winning cup when your take profit is hit
- Draw a coffin when you run out of capital
FAQ
Q: Does this script has any interest?
A: I'm not sure myself
Q: Will you make money using it?
A: I'm not a financial advisor but ... very likely NO
Q: Is it cool though?
A: Hell yeah!!
Be sure to hit the thumbs up so that I'll share real scripts the next times and not "joke scripts". I promise it's the first and last time I'm sharing such a script
Dave
____________________________________________________________
- I'm an officially approved PineEditor/LUA/MT4 approved mentor on codementor. You can request a coaching with me if you want and I'll teach you how to build kick-ass indicators and strategies
Jump on a 1 to 1 coaching with me
- You can also hire for a custom dev of your indicator/strategy/bot/chrome extension/python
How to avoid repainting when using security() - PineCoders FAQNOTE
The non-repainting technique in this publication that relies on bar states is now deprecated, as we have identified inconsistencies that undermine its credibility as a universal solution. The outputs that use the technique are still available for reference in this publication. However, we do not endorse its usage. See this publication for more information about the current best practices for requesting HTF data and why they work.
This indicator shows how to avoid repainting when using the security() function to retrieve information from higher timeframes.
What do we mean by repainting?
Repainting is used to describe three different things, in what we’ve seen in TV members comments on indicators:
1. An indicator showing results that change during the realtime bar, whether the script is using the security() function or not, e.g., a Buy signal that goes on and then off, or a plot that changes values.
2. An indicator that uses future data not yet available on historical bars.
3. An indicator that uses a negative offset= parameter when plotting in order to plot information on past bars.
The repainting types we will be discussing here are the first two types, as the third one is intentional—sometimes even intentionally misleading when unscrupulous script writers want their strategy to look better than it is.
Let’s be clear about one thing: repainting is not caused by a bug ; it is caused by the different context between historical bars and the realtime bar, and script coders or users not taking the necessary precautions to prevent it.
Why should repainting be avoided?
Repainting matters because it affects the behavior of Pine scripts in the realtime bar, where the action happens and counts, because that is when traders (or our systems) take decisions where odds must be in our favor.
Repainting also matters because if you test a strategy on historical bars using only OHLC values, and then run that same code on the realtime bar with more than OHLC information, scripts not properly written or misconfigured alerts will alter the strategy’s behavior. At that point, you will not be running the same strategy you tested, and this invalidates your test results , which were run while not having the additional price information that is available in the realtime bar.
The realtime bar on your charts is only one bar, but it is a very important bar. Coding proper strategies and indicators on TV requires that you understand the variations in script behavior and how information available to the script varies between when the script is running on historical and realtime bars.
How does repainting occur?
Repainting happens because of something all traders instinctively crave: more information. Contrary to trader lure, more information is not always better. In the realtime bar, all TV indicators (a.k.a. studies ) execute every time price changes (i.e. every tick ). TV strategies will also behave the same way if they use the calc_on_every_tick = true parameter in their strategy() declaration statement (the parameter’s default value is false ). Pine coders must decide if they want their code to use the realtime price information as it comes in, or wait for the realtime bar to close before using the same OHLC values for that bar that would be used on historical bars.
Strategy modelers often assume that using realtime price information as it comes in the realtime bar will always improve their results. This is incorrect. More information does not necessarily improve performance because it almost always entails more noise. The extra information may or may not improve results; one cannot know until the code is run in realtime for enough time to provide data that can be analyzed and from which somewhat reliable conclusions can be derived. In any case, as was stated before, it is critical to understand that if your strategy is taking decisions on realtime tick data, you are NOT running the same strategy you tested on historical bars with OHLC values only.
How do we avoid repainting?
It comes down to using reliable information and properly configuring alerts, if you use them. Here are the main considerations:
1. If your code is using security() calls, use the syntax we propose to obtain reliable data from higher timeframes.
2. If your script is a strategy, do not use the calc_on_every_tick = true parameter unless your strategy uses previous bar information to calculate.
3. If your script is a study and is using current timeframe information that is compared to values obtained from a higher timeframe, even if you can rely on reliable higher timeframe information because you are correctly using the security() function, you still need to ensure the realtime bar’s information you use (a cross of current close over a higher timeframe MA, for example) is consistent with your backtest methodology, i.e. that your script calculates on the close of the realtime bar. If your system is using alerts, the simplest solution is to configure alerts to trigger Once Per Bar Close . If you are not using alerts, the best solution is to use information from the preceding bar. When using previous bar information, alerts can be configured to trigger Once Per Bar safely.
What does this indicator do?
It shows results for 9 different ways of using the security() function and illustrates the simplest and most effective way to avoid repainting, i.e. using security() as in the example above. To show the indicator’s lines the most clearly, price on the chart is shown with a black line rather than candlesticks. This indicator also shows how misusing security() produces repainting. All combinations of using a 0 or 1 offset to reference the series used in the security() , as well as all combinations of values for the gaps= and lookahead= parameters are shown.
The close in the call labeled “BEST” means that once security has reached the upper timeframe (1 day in our case), it will fetch the previous day’s value.
The gaps= parameter is not specified as it is off by default and that is what we need. This ensures that the value returned by security() will not contain na values on any of our chart’s bars.
The lookahead security() to use the last available value for the higher timeframe bar we are using (the previous day, in our case). This ensures that security() will return the value at the end of the higher timeframe, even if it has not occurred yet. In our case, this has no negative impact since we are requesting the previous day’s value, with has already closed.
The indicator’s Settings/Inputs allow you to set:
- The higher timeframe security() calls will use
- The source security() calls will use
- If you want identifying labels printed on the lines that have no gaps (the lines containing gaps are plotted using very thick lines that appear as horizontal blocks of one bar in length)
For the lines to be plotted, you need to be on a smaller timeframe than the one used for the security() calls.
Comments in the code explain what’s going on.
Look first. Then leap.
Uptrick: Fusion Trend Reversion SystemOverview
The Uptrick: Fusion Trend Reversion System is a multi-layered indicator designed to identify potential price reversals during intraday movement while keeping traders informed of the dominant short-term trend. It blends a composite fair value model with deviation logic and a refined momentum filter using the Relative Strength Index (RSI). This tool was created with scalpers and short-term traders in mind and is especially effective on lower timeframes such as 1-minute, 5-minute, and 15-minute charts where price dislocations and quick momentum shifts are frequent.
Introduction
This indicator is built around the fusion of two classic concepts in technical trading: identifying trend direction and spotting potential reversion points. These are often handled separately, but this system merges them into one process. It starts by computing a fair value price using five moving averages, each with its own mathematical structure and strengths. These include the exponential moving average (EMA), which gives more weight to recent data; the simple moving average (SMA), which gives equal weight to all periods; the weighted moving average (WMA), which progressively increases weight with recency; the Arnaud Legoux moving average (ALMA), known for smoothing without lag; and the volume-weighted average price (VWAP), which factors in volume at each price level.
All five are averaged into a single value — the raw fusion line. This fusion acts as a dynamically balanced centerline that adapts to price conditions with both smoothing and responsiveness. Two additional exponential moving averages are applied to the raw fusion line. One is slower, giving a stable trend reference, and the other is faster, used to define momentum and cloud behavior. These two lines — the fusion slow and fusion fast — form the backbone of trend and signal logic.
Purpose
This system is meant for traders who want to trade reversals without losing sight of the underlying directional bias. Many reversal indicators fail because they act too early or signal too frequently in choppy markets. This script filters out noise through two conditions: price deviation and RSI confirmation. Reversion trades are considered only when the price moves a significant distance from fair value and RSI suggests a legitimate shift in momentum. That filtering process gives the trader a cleaner, higher-quality signal and reduces false entries.
The indicator also visually supports the trader through colored bars, up/down labels, and a filled cloud between the fast and slow fusion lines. These features make the market context immediately visible: whether the trend is up or down, whether a reversal just occurred, and whether price is currently in a high-risk reversion zone.
Originality and Uniqueness
What makes this script different from most reversal systems is the way it combines layers of logic — not just to detect signals, but to qualify and structure them. Rather than relying on a single MA or a raw RSI level, it uses a five-MA fusion to create a baseline fair value that incorporates speed, stability, and volume-awareness.
On top of that, the system introduces a dual-smoothing mechanism. It doesn’t just smooth price once — it creates two layers: one to follow the general trend and another to track faster deviations. This structure lets the script distinguish between continuation moves and possible turning points more effectively than a single-line or single-metric system.
It also uses RSI in a more refined way. Instead of just checking if RSI is overbought or oversold, the script smooths RSI and requires directional confirmation. Beyond that, it includes signal memory. Once a signal is generated, a new one will not appear unless the RSI becomes even more extreme and curls back again. This memory-based gating reduces signal clutter and prevents repetition, a rare feature in similar scripts.
Why these indicators were merged
Each moving average in the fusion serves a specific role. EMA reacts quickly to recent price changes and is often favored in fast-trading strategies. SMA acts as a long-term filter and smooths erratic behavior. WMA blends responsiveness with smoothing in a more balanced way. ALMA focuses on minimizing lag without losing detail, which is helpful in fast markets. VWAP anchors price to real trade volume, giving a sense of where actual positioning is happening.
By combining all five, the script creates a fair value model that doesn’t lean too heavily on one logic type. This fusion is then smoothed into two separate EMAs: one slower (trend layer), one faster (signal layer). The difference between these forms the basis of the trend cloud, which can be toggled on or off visually.
RSI is then used to confirm whether price is reversing with enough force to warrant a trade. The RSI is calculated over a 14-period window and smoothed with a 7-period EMA. The reason for smoothing RSI is to cut down on noise and avoid reacting to short, insignificant spikes. A signal is only considered if price is stretched away from the trend line and the smoothed RSI is in a reversal state — below 30 and rising for bullish setups, above 70 and falling for bearish ones.
Calculations
The script follows this structure:
Calculate EMA, SMA, WMA, ALMA, and VWAP using the same base length
Average the five values to form the raw fusion line
Smooth the raw fusion line with an EMA using sens1 to create the fusion slow line
Smooth the raw fusion line with another EMA using sens2 to create the fusion fast line
If fusion slow is rising and price is above it, trend is bullish
If fusion slow is falling and price is below it, trend is bearish
Calculate RSI over 14 periods
Smooth RSI using a 7-period EMA
Determine deviation as the absolute difference between current price and fusion slow
A raw signal is flagged if deviation exceeds the threshold
A raw signal is flagged if RSI EMA is under 30 and rising (bullish setup)
A raw signal is flagged if RSI EMA is over 70 and falling (bearish setup)
A final signal is confirmed for a bullish setup if RSI EMA is lower than the last bullish signal’s RSI
A final signal is confirmed for a bearish setup if RSI EMA is higher than the last bearish signal’s RSI
Reset the bullish RSI memory if RSI EMA rises above 30
Reset the bearish RSI memory if RSI EMA falls below 70
Store last signal direction and use it for optional bar coloring
Draw the trend cloud between fusion fast and fusion slow using fill()
Show signal labels only if showSignals is enabled
Bar and candle colors reflect either trend slope or last signal direction depending on mode selected
How it works
Once the script is loaded, it builds a fusion line by averaging five different types of moving averages. That line is smoothed twice into a fast and slow version. These two fusion lines form the structure for identifying trend direction and signal areas.
Trend bias is defined by the slope of the slow line. If the slow line is rising and price is above it, the market is considered bullish. If the slow line is falling and price is below it, it’s considered bearish.
Meanwhile, the script monitors how far price has moved from that slow line. If price is stretched beyond a certain distance (set by the threshold), and RSI confirms that momentum is reversing, a raw reversion signal is created. But the script only allows that signal to show if RSI has moved further into oversold or overbought territory than it did at the last signal. This blocks repetitive, weak entries. The memory is cleared only if RSI exits the zone — above 30 for bullish, below 70 for bearish.
Once a signal is accepted, a label is drawn. If the signal toggle is off, no label will be shown regardless of conditions. Bar colors are controlled separately — you can color them based on trend slope or last signal, depending on your selected mode.
Inputs
You can adjust the following settings:
MA Length: Sets the period for all moving averages used in the fusion.
Show Reversion Signals: Turns on the plotting of “Up” and “Down” labels when a reversal is confirmed.
Bar Coloring: Enables or disables colored bars based on trend or signal direction.
Show Trend Cloud: Fills the space between the fusion fast and slow lines to reflect trend bias.
Bar Color Mode: Lets you choose whether bars follow trend logic or last signal direction.
Sens 1: Smoothing speed for the slow fusion line — higher values = slower trend.
Sens 2: Smoothing speed for the fast line — lower values = faster signal response.
Deviation Threshold: Minimum distance price must move from fair value to trigger a signal check.
Features
This indicator offers:
A composite fair value model using five moving average types.
Dual smoothing system with user-defined sensitivity.
Slope-based trend definition tied to price position.
Deviation-triggered signal logic filtered by RSI reversal.
RSI memory system that blocks repetitive signals and resets only when RSI exits overbought or oversold zones.
Real-time tracking of the last signal’s direction for optional bar coloring.
Up/Down labels at signal points, visible only when enabled.
Optional trend cloud between fusion layers, visualizing current market bias.
Full user control over smoothing, threshold, color modes, and visibility.
Conclusion
The Fusion Trend-Reversion System is a tool for short-term traders looking to fade price extremes without ignoring trend bias. It calculates fair value using five diverse moving averages, smooths this into two dynamic layers, and applies strict reversal logic based on RSI deviation and momentum strength. Signals are triggered only when price is stretched and momentum confirms it with increasingly strong behavior. This combination makes the tool suitable for scalping, intraday entries, and fast market environments where precision matters.
Disclaimer
This indicator is for informational and educational purposes only. It does not constitute financial advice. All trading involves risk, and no tool can predict market behavior with certainty. Use proper risk management and do your own research before making trading decisions.
Color█ OVERVIEW
This library is a Pine Script® programming tool for advanced color processing. It provides a comprehensive set of functions for specifying and analyzing colors in various color spaces, mixing and manipulating colors, calculating custom gradients and schemes, detecting contrast, and converting colors to or from hexadecimal strings.
█ CONCEPTS
Color
Color refers to how we interpret light of different wavelengths in the visible spectrum . The colors we see from an object represent the light wavelengths that it reflects, emits, or transmits toward our eyes. Some colors, such as blue and red, correspond directly to parts of the spectrum. Others, such as magenta, arise from a combination of wavelengths to which our minds assign a single color.
The human interpretation of color lends itself to many uses in our world. In the context of financial data analysis, the effective use of color helps transform raw data into insights that users can understand at a glance. For example, colors can categorize series, signal market conditions and sessions, and emphasize patterns or relationships in data.
Color models and spaces
A color model is a general mathematical framework that describes colors using sets of numbers. A color space is an implementation of a specific color model that defines an exact range (gamut) of reproducible colors based on a set of primary colors , a reference white point , and sometimes additional parameters such as viewing conditions.
There are numerous different color spaces — each describing the characteristics of color in unique ways. Different spaces carry different advantages, depending on the application. Below, we provide a brief overview of the concepts underlying the color spaces supported by this library.
RGB
RGB is one of the most well-known color models. It represents color as an additive mixture of three primary colors — red, green, and blue lights — with various intensities. Each cone cell in the human eye responds more strongly to one of the three primaries, and the average person interprets the combination of these lights as a distinct color (e.g., pure red + pure green = yellow).
The sRGB color space is the most common RGB implementation. Developed by HP and Microsoft in the 1990s, sRGB provided a standardized baseline for representing color across CRT monitors of the era, which produced brightness levels that did not increase linearly with the input signal. To match displays and optimize brightness encoding for human sensitivity, sRGB applied a nonlinear transformation to linear RGB signals, often referred to as gamma correction . The result produced more visually pleasing outputs while maintaining a simple encoding. As such, sRGB quickly became a standard for digital color representation across devices and the web. To this day, it remains the default color space for most web-based content.
TradingView charts and Pine Script `color.*` built-ins process color data in sRGB. The red, green, and blue channels range from 0 to 255, where 0 represents no intensity, and 255 represents maximum intensity. Each combination of red, green, and blue values represents a distinct color, resulting in a total of 16,777,216 displayable colors.
CIE XYZ and xyY
The XYZ color space, developed by the International Commission on Illumination (CIE) in 1931, aims to describe all color sensations that a typical human can perceive. It is a cornerstone of color science, forming the basis for many color spaces used today. XYZ, and the derived xyY space, provide a universal representation of color that is not tethered to a particular display. Many widely used color spaces, including sRGB, are defined relative to XYZ or derived from it.
The CIE built the color space based on a series of experiments in which people matched colors they perceived from mixtures of lights. From these experiments, the CIE developed color-matching functions to calculate three components — X, Y, and Z — which together aim to describe a standard observer's response to visible light. X represents a weighted response to light across the color spectrum, with the highest contribution from long wavelengths (e.g., red). Y represents a weighted response to medium wavelengths (e.g., green), and it corresponds to a color's relative luminance (i.e., brightness). Z represents a weighted response to short wavelengths (e.g., blue).
From the XYZ space, the CIE developed the xyY chromaticity space, which separates a color's chromaticity (hue and colorfulness) from luminance. The CIE used this space to define the CIE 1931 chromaticity diagram , which represents the full range of visible colors at a given luminance. In color science and lighting design, xyY is a common means for specifying colors and visualizing the supported ranges of other color spaces.
CIELAB and Oklab
The CIELAB (L*a*b*) color space, derived from XYZ by the CIE in 1976, expresses colors based on opponent process theory. The L* component represents perceived lightness, and the a* and b* components represent the balance between opposing unique colors. The a* value specifies the balance between green and red , and the b* value specifies the balance between blue and yellow .
The primary intention of CIELAB was to provide a perceptually uniform color space, where fixed-size steps through the space correspond to uniform perceived changes in color. Although relatively uniform, the color space has been found to exhibit some non-uniformities, particularly in the blue part of the color spectrum. Regardless, modern applications often use CIELAB to estimate perceived color differences and calculate smooth color gradients.
In 2020, a new LAB-oriented color space, Oklab , was introduced by Björn Ottosson as an attempt to rectify the non-uniformities of other perceptual color spaces. Similar to CIELAB, the L value in Oklab represents perceived lightness, and the a and b values represent the balance between opposing unique colors. Oklab has gained widespread adoption as a perceptual space for color processing, with support in the latest CSS Color specifications and many software applications.
Cylindrical models
A cylindrical-coordinate model transforms an underlying color model, such as RGB or LAB, into an alternative expression of color information that is often more intuitive for the average person to use and understand.
Instead of a mixture of primary colors or opponent pairs, these models represent color as a hue angle on a color wheel , with additional parameters that describe other qualities such as lightness and colorfulness (a general term for concepts like chroma and saturation). In cylindrical-coordinate spaces, users can select a color and modify its lightness or other qualities without altering the hue.
The three most common RGB-based models are HSL (Hue, Saturation, Lightness), HSV (Hue, Saturation, Value), and HWB (Hue, Whiteness, Blackness). All three define hue angles in the same way, but they define colorfulness and lightness differently. Although they are not perceptually uniform, HSL and HSV are commonplace in color pickers and gradients.
For CIELAB and Oklab, the cylindrical-coordinate versions are CIELCh and Oklch , which express color in terms of perceived lightness, chroma, and hue. They offer perceptually uniform alternatives to RGB-based models. These spaces create unique color wheels, and they have more strict definitions of lightness and colorfulness. Oklch is particularly well-suited for generating smooth, perceptual color gradients.
Alpha and transparency
Many color encoding schemes include an alpha channel, representing opacity . Alpha does not help define a color in a color space; it determines how a color interacts with other colors in the display. Opaque colors appear with full intensity on the screen, whereas translucent (semi-opaque) colors blend into the background. Colors with zero opacity are invisible.
In Pine Script, there are two ways to specify a color's alpha:
• Using the `transp` parameter of the built-in `color.*()` functions. The specified value represents transparency (the opposite of opacity), which the functions translate into an alpha value.
• Using eight-digit hexadecimal color codes. The last two digits in the code represent alpha directly.
A process called alpha compositing simulates translucent colors in a display. It creates a single displayed color by mixing the RGB channels of two colors (foreground and background) based on alpha values, giving the illusion of a semi-opaque color placed over another color. For example, a red color with 80% transparency on a black background produces a dark shade of red.
Hexadecimal color codes
A hexadecimal color code (hex code) is a compact representation of an RGB color. It encodes a color's red, green, and blue values into a sequence of hexadecimal ( base-16 ) digits. The digits are numerals ranging from `0` to `9` or letters from `a` (for 10) to `f` (for 15). Each set of two digits represents an RGB channel ranging from `00` (for 0) to `ff` (for 255).
Pine scripts can natively define colors using hex codes in the format `#rrggbbaa`. The first set of two digits represents red, the second represents green, and the third represents blue. The fourth set represents alpha . If unspecified, the value is `ff` (fully opaque). For example, `#ff8b00` and `#ff8b00ff` represent an opaque orange color. The code `#ff8b0033` represents the same color with 80% transparency.
Gradients
A color gradient maps colors to numbers over a given range. Most color gradients represent a continuous path in a specific color space, where each number corresponds to a mix between a starting color and a stopping color. In Pine, coders often use gradients to visualize value intensities in plots and heatmaps, or to add visual depth to fills.
The behavior of a color gradient depends on the mixing method and the chosen color space. Gradients in sRGB usually mix along a straight line between the red, green, and blue coordinates of two colors. In cylindrical spaces such as HSL, a gradient often rotates the hue angle through the color wheel, resulting in more pronounced color transitions.
Color schemes
A color scheme refers to a set of colors for use in aesthetic or functional design. A color scheme usually consists of just a few distinct colors. However, depending on the purpose, a scheme can include many colors.
A user might choose palettes for a color scheme arbitrarily, or generate them algorithmically. There are many techniques for calculating color schemes. A few simple, practical methods are:
• Sampling a set of distinct colors from a color gradient.
• Generating monochromatic variants of a color (i.e., tints, tones, or shades with matching hues).
• Computing color harmonies — such as complements, analogous colors, triads, and tetrads — from a base color.
This library includes functions for all three of these techniques. See below for details.
█ CALCULATIONS AND USE
Hex string conversion
The `getHexString()` function returns a string containing the eight-digit hexadecimal code corresponding to a "color" value or set of sRGB and transparency values. For example, `getHexString(255, 0, 0)` returns the string `"#ff0000ff"`, and `getHexString(color.new(color.red, 80))` returns `"#f2364533"`.
The `hexStringToColor()` function returns the "color" value represented by a string containing a six- or eight-digit hex code. The `hexStringToRGB()` function returns a tuple containing the sRGB and transparency values. For example, `hexStringToColor("#f23645")` returns the same value as color.red .
Programmers can use these functions to parse colors from "string" inputs, perform string-based color calculations, and inspect color data in text outputs such as Pine Logs and tables.
Color space conversion
All other `get*()` functions convert a "color" value or set of sRGB channels into coordinates in a specific color space, with transparency information included. For example, the tuple returned by `getHSL()` includes the color's hue, saturation, lightness, and transparency values.
To convert data from a color space back to colors or sRGB and transparency values, use the corresponding `*toColor()` or `*toRGB()` functions for that space (e.g., `hslToColor()` and `hslToRGB()`).
Programmers can use these conversion functions to process inputs that define colors in different ways, perform advanced color manipulation, design custom gradients, and more.
The color spaces this library supports are:
• sRGB
• Linear RGB (RGB without gamma correction)
• HSL, HSV, and HWB
• CIE XYZ and xyY
• CIELAB and CIELCh
• Oklab and Oklch
Contrast-based calculations
Contrast refers to the difference in luminance or color that makes one color visible against another. This library features two functions for calculating luminance-based contrast and detecting themes.
The `contrastRatio()` function calculates the contrast between two "color" values based on their relative luminance (the Y value from CIE XYZ) using the formula from version 2 of the Web Content Accessibility Guidelines (WCAG) . This function is useful for identifying colors that provide a sufficient brightness difference for legibility.
The `isLightTheme()` function determines whether a specified background color represents a light theme based on its contrast with black and white. Programmers can use this function to define conditional logic that responds differently to light and dark themes.
Color manipulation and harmonies
The `negative()` function calculates the negative (i.e., inverse) of a color by reversing the color's coordinates in either the sRGB or linear RGB color space. This function is useful for calculating high-contrast colors.
The `grayscale()` function calculates a grayscale form of a specified color with the same relative luminance.
The functions `complement()`, `splitComplements()`, `analogousColors()`, `triadicColors()`, `tetradicColors()`, `pentadicColors()`, and `hexadicColors()` calculate color harmonies from a specified source color within a given color space (HSL, CIELCh, or Oklch). The returned harmonious colors represent specific hue rotations around a color wheel formed by the chosen space, with the same defined lightness, saturation or chroma, and transparency.
Color mixing and gradient creation
The `add()` function simulates combining lights of two different colors by additively mixing their linear red, green, and blue components, ignoring transparency by default. Users can calculate a transparency-weighted mixture by setting the `transpWeight` argument to `true`.
The `overlay()` function estimates the color displayed on a TradingView chart when a specific foreground color is over a background color. This function aids in simulating stacked colors and analyzing the effects of transparency.
The `fromGradient()` and `fromMultiStepGradient()` functions calculate colors from gradients in any of the supported color spaces, providing flexible alternatives to the RGB-based color.from_gradient() function. The `fromGradient()` function calculates a color from a single gradient. The `fromMultiStepGradient()` function calculates a color from a piecewise gradient with multiple defined steps. Gradients are useful for heatmaps and for coloring plots or drawings based on value intensities.
Scheme creation
Three functions in this library calculate palettes for custom color schemes. Scripts can use these functions to create responsive color schemes that adjust to calculated values and user inputs.
The `gradientPalette()` function creates an array of colors by sampling a specified number of colors along a gradient from a base color to a target color, in fixed-size steps.
The `monoPalette()` function creates an array containing monochromatic variants (tints, tones, or shades) of a specified base color. Whether the function mixes the color toward white (for tints), a form of gray (for tones), or black (for shades) depends on the `grayLuminance` value. If unspecified, the function automatically chooses the mix behavior with the highest contrast.
The `harmonyPalette()` function creates a matrix of colors. The first column contains the base color and specified harmonies, e.g., triadic colors. The columns that follow contain tints, tones, or shades of the harmonic colors for additional color choices, similar to `monoPalette()`.
█ EXAMPLE CODE
The example code at the end of the script generates and visualizes color schemes by processing user inputs. The code builds the scheme's palette based on the "Base color" input and the additional inputs in the "Settings/Inputs" tab:
• "Palette type" specifies whether the palette uses a custom gradient, monochromatic base color variants, or color harmonies with monochromatic variants.
• "Target color" sets the top color for the "Gradient" palette type.
• The "Gray luminance" inputs determine variation behavior for "Monochromatic" and "Harmony" palette types. If "Auto" is selected, the palette mixes the base color toward white or black based on its brightness. Otherwise, it mixes the color toward the grayscale color with the specified relative luminance (from 0 to 1).
• "Harmony type" specifies the color harmony used in the palette. Each row in the palette corresponds to one of the harmonious colors, starting with the base color.
The code creates a table on the first bar to display the collection of calculated colors. Each cell in the table shows the color's `getHexString()` value in a tooltip for simple inspection.
Look first. Then leap.
█ EXPORTED FUNCTIONS
Below is a complete list of the functions and overloads exported by this library.
getRGB(source)
Retrieves the sRGB red, green, blue, and transparency components of a "color" value.
getHexString(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channel values to a string representing the corresponding color's hexadecimal form.
getHexString(source)
(Overload 2 of 2) Converts a "color" value to a string representing the sRGB color's hexadecimal form.
hexStringToRGB(source)
Converts a string representing an sRGB color's hexadecimal form to a set of decimal channel values.
hexStringToColor(source)
Converts a string representing an sRGB color's hexadecimal form to a "color" value.
getLRGB(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channel values to a set of linear RGB values with specified transparency information.
getLRGB(source)
(Overload 2 of 2) Retrieves linear RGB channel values and transparency information from a "color" value.
lrgbToRGB(lr, lg, lb, t)
Converts a set of linear RGB channel values to a set of sRGB values with specified transparency information.
lrgbToColor(lr, lg, lb, t)
Converts a set of linear RGB channel values and transparency information to a "color" value.
getHSL(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of HSL values with specified transparency information.
getHSL(source)
(Overload 2 of 2) Retrieves HSL channel values and transparency information from a "color" value.
hslToRGB(h, s, l, t)
Converts a set of HSL channel values to a set of sRGB values with specified transparency information.
hslToColor(h, s, l, t)
Converts a set of HSL channel values and transparency information to a "color" value.
getHSV(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of HSV values with specified transparency information.
getHSV(source)
(Overload 2 of 2) Retrieves HSV channel values and transparency information from a "color" value.
hsvToRGB(h, s, v, t)
Converts a set of HSV channel values to a set of sRGB values with specified transparency information.
hsvToColor(h, s, v, t)
Converts a set of HSV channel values and transparency information to a "color" value.
getHWB(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of HWB values with specified transparency information.
getHWB(source)
(Overload 2 of 2) Retrieves HWB channel values and transparency information from a "color" value.
hwbToRGB(h, w, b, t)
Converts a set of HWB channel values to a set of sRGB values with specified transparency information.
hwbToColor(h, w, b, t)
Converts a set of HWB channel values and transparency information to a "color" value.
getXYZ(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of XYZ values with specified transparency information.
getXYZ(source)
(Overload 2 of 2) Retrieves XYZ channel values and transparency information from a "color" value.
xyzToRGB(x, y, z, t)
Converts a set of XYZ channel values to a set of sRGB values with specified transparency information
xyzToColor(x, y, z, t)
Converts a set of XYZ channel values and transparency information to a "color" value.
getXYY(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of xyY values with specified transparency information.
getXYY(source)
(Overload 2 of 2) Retrieves xyY channel values and transparency information from a "color" value.
xyyToRGB(xc, yc, y, t)
Converts a set of xyY channel values to a set of sRGB values with specified transparency information.
xyyToColor(xc, yc, y, t)
Converts a set of xyY channel values and transparency information to a "color" value.
getLAB(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of CIELAB values with specified transparency information.
getLAB(source)
(Overload 2 of 2) Retrieves CIELAB channel values and transparency information from a "color" value.
labToRGB(l, a, b, t)
Converts a set of CIELAB channel values to a set of sRGB values with specified transparency information.
labToColor(l, a, b, t)
Converts a set of CIELAB channel values and transparency information to a "color" value.
getOKLAB(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of Oklab values with specified transparency information.
getOKLAB(source)
(Overload 2 of 2) Retrieves Oklab channel values and transparency information from a "color" value.
oklabToRGB(l, a, b, t)
Converts a set of Oklab channel values to a set of sRGB values with specified transparency information.
oklabToColor(l, a, b, t)
Converts a set of Oklab channel values and transparency information to a "color" value.
getLCH(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of CIELCh values with specified transparency information.
getLCH(source)
(Overload 2 of 2) Retrieves CIELCh channel values and transparency information from a "color" value.
lchToRGB(l, c, h, t)
Converts a set of CIELCh channel values to a set of sRGB values with specified transparency information.
lchToColor(l, c, h, t)
Converts a set of CIELCh channel values and transparency information to a "color" value.
getOKLCH(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of Oklch values with specified transparency information.
getOKLCH(source)
(Overload 2 of 2) Retrieves Oklch channel values and transparency information from a "color" value.
oklchToRGB(l, c, h, t)
Converts a set of Oklch channel values to a set of sRGB values with specified transparency information.
oklchToColor(l, c, h, t)
Converts a set of Oklch channel values and transparency information to a "color" value.
contrastRatio(value1, value2)
Calculates the contrast ratio between two colors values based on the formula from version 2 of the Web Content Accessibility Guidelines (WCAG).
isLightTheme(source)
Detects whether a background color represents a light theme or dark theme, based on the amount of contrast between the color and the white and black points.
grayscale(source)
Calculates the grayscale version of a color with the same relative luminance (i.e., brightness).
negative(source, colorSpace)
Calculates the negative (i.e., inverted) form of a specified color.
complement(source, colorSpace)
Calculates the complementary color for a `source` color using a cylindrical color space.
analogousColors(source, colorSpace)
Calculates the analogous colors for a `source` color using a cylindrical color space.
splitComplements(source, colorSpace)
Calculates the split-complementary colors for a `source` color using a cylindrical color space.
triadicColors(source, colorSpace)
Calculates the two triadic colors for a `source` color using a cylindrical color space.
tetradicColors(source, colorSpace, square)
Calculates the three square or rectangular tetradic colors for a `source` color using a cylindrical color space.
pentadicColors(source, colorSpace)
Calculates the four pentadic colors for a `source` color using a cylindrical color space.
hexadicColors(source, colorSpace)
Calculates the five hexadic colors for a `source` color using a cylindrical color space.
add(value1, value2, transpWeight)
Additively mixes two "color" values, with optional transparency weighting.
overlay(fg, bg)
Estimates the resulting color that appears on the chart when placing one color over another.
fromGradient(value, bottomValue, topValue, bottomColor, topColor, colorSpace)
Calculates the gradient color that corresponds to a specific value based on a defined value range and color space.
fromMultiStepGradient(value, steps, colors, colorSpace)
Calculates a multi-step gradient color that corresponds to a specific value based on an array of step points, an array of corresponding colors, and a color space.
gradientPalette(baseColor, stopColor, steps, strength, model)
Generates a palette from a gradient between two base colors.
monoPalette(baseColor, grayLuminance, variations, strength, colorSpace)
Generates a monochromatic palette from a specified base color.
harmonyPalette(baseColor, harmonyType, grayLuminance, variations, strength, colorSpace)
Generates a palette consisting of harmonious base colors and their monochromatic variants.
Godfather of Support & Resistance Godfather of Support & Resistance
Overview
The Godfather of Support & Resistance script is a powerful tool designed to help traders identify critical support and resistance levels on their charts. These price levels are vital for understanding market behavior, as they often act as turning points where prices reverse, consolidate, or break through. By automating the detection of these levels, this script simplifies your trading decisions and enhances your technical analysis.
How It Works
Pivot Points for Level Detection:
The script uses pivot points to identify potential support (lows) and resistance (highs) levels:
A pivot high is a local peak (a high surrounded by lower highs).
A pivot low is a local trough (a low surrounded by higher lows).
You can adjust the Pivot Length (pivotLen) input to control the sensitivity of detection. Smaller values detect more levels, while larger values focus on major levels.
Dynamic Grouping with Tolerance:
The script dynamically groups nearby price levels using a tolerance percentage. This tolerance is based on the level's price, making it adaptive to all types of assets (low- and high-priced).
For example, if the tolerance is set to 1% and a level is at $100, levels within $1 are grouped together.
Touch Count for Significance:
The script tracks how many times the price interacts with each level (touch count). Only levels that meet or exceed the Minimum Touches (minTouches) input are displayed on the chart. This ensures only meaningful levels are highlighted.
Clear Visual Representation:
Resistance Levels (Red Lines): Represent areas where the price tends to reverse downward.
Support Levels (Green Lines): Represent areas where the price tends to reverse upward.
Labels are added to each level (optional) to display the price and the number of touches for better decision-making.
Inputs You Can Customize
Minimum Touches to Show Level:
Set the minimum number of price interactions required for a level to be displayed.
Maximum Lines to Keep:
Limit the number of support and resistance lines displayed to keep your chart clean and focused.
Pivot Length:
Customize the sensitivity of pivot point detection. Smaller values detect more levels, while larger values focus on key levels.
Tolerance for Touch Detection (%):
Adjust the grouping tolerance as a percentage of the price. For example, 1% groups levels that are within 1% of each other.
How to Use
Apply the Script:
Add the script to your TradingView chart, and it will automatically detect and plot support and resistance levels.
Analyze the Levels:
Use Resistance Levels (red lines) as potential sell zones or areas to place stop-loss orders above.
Use Support Levels (green lines) as potential buy zones or areas to place stop-loss orders below.
Customize for Your Trading Style:
Adjust the inputs to match your preferred strategy and the timeframe or asset you're analyzing.
Example Use Case
Imagine you're analyzing a stock:
Resistance Level: The script identifies resistance at $150 with 3 touches. This might be a potential sell zone if the price struggles to break through.
Support Level: The script identifies support at $130 with 4 touches. This might be a potential buy zone if the price shows signs of bouncing upward.
Key Features
Automatically detects and plots support and resistance levels.
Tracks the number of price touches to filter out weak levels.
Adapts dynamically to price ranges using a percentage-based tolerance.
Fully customizable to suit different trading styles and assets.
Clean and professional chart display with a limit on the number of lines.
Notes
This script is for educational purposes only and should not be considered financial advice.
Always perform your own analysis and manage risk before making trading decisions.
Why Use This Script?
The Godfather of Support & Resistance script simplifies your trading decisions by automating the detection of critical price levels. Whether you're a beginner or an experienced trader, this script is designed to save you time and help you focus on making informed trades.
Start using it today to master the art of support and resistance trading!
Let me know if you need further refinements for this description!
Trend Vanguard StrategyHow to Use:
Trend Vanguard Strategy is a multi-feature Pine Script strategy designed to identify market pivots, draw dynamic support/resistance, and generate trade signals via ZigZag breakouts. Here’s how it works and how to use it:
ZigZag Detection & Pivot Points
The script locates significant swing highs and lows using configurable Depth, Deviation, and Backstep values.
It then connects these pivots with lines (ZigZag) to highlight directional changes and prints labels (“Buy,” “Sell,” etc.) at key turning points.
Support & Resistance Trendlines
Pivot highs and lows are used to draw dashed S/R lines in real-time.
When price crosses these lines, the script triggers a breakout signal (long or short).
EMA Overlays
Up to four EMAs (with customizable lengths and colors) can be overlaid on the chart for added trend confirmation.
Enable/disable each EMA independently via the settings.
Repaint Option
Turning on “Smooth Indicator Lines” (repaint) uses future data to refine past pivots.
This can make historical signals look cleaner but does not reflect true historical conditions.
Turning it off ensures signals remain fixed once they appear.
Strategy Entries & Exits
On each new ZigZag “Buy” or “Sell” signal, the script closes any open position and flips to the opposite side (if desired).
Works with the built-in TradingView Strategy engine for backtesting.
Additional Inputs (Placeholders)
Volume Filter and RSI Filter settings exist but are not fully implemented in the current code. Future versions may incorporate these filters more directly.
How to Use
Add to Chart: Click “Indicators” → “Invite-Only Scripts” (or “My Scripts”) and select “Trend Vanguard Strategy.”
Configure Settings:
Adjust ZigZag Depth, Deviation, and Backstep to fine-tune pivot sensitivity.
Enable or disable each EMA to see how it aligns with market trends.
Toggle “Smooth Indicator Lines” on or off depending on whether you want repainting.
Backtest and Forward Test:
Use TradingView’s “Strategy Tester” tab to review hypothetical performance.
Remember that repainting can alter past signals if enabled.
Monitor Live:
Watch for breakout triangles or ZigZag labels to identify potential reversal or breakout trades in real time.
Disclaimer: This script is purely educational and not financial advice. Always combine it with sound risk management and thorough analysis. Enjoy exploring the script, and feel free to experiment with the different settings to match your trading style!
Multi-Indicator Signals with Selectable Options by DiGetMulti-Indicator Signals with Selectable Options
Script Overview
This Pine Script is a multi-indicator trading strategy designed to generate buy/sell signals based on combinations of popular technical indicators: RSI (Relative Strength Index) , CCI (Commodity Channel Index) , and Stochastic Oscillator . The script allows you to select which combination of signals to display, making it highly customizable and adaptable to different trading styles.
The primary goal of this script is to provide clear and actionable entry/exit points by visualizing buy/sell signals with arrows , labels , and vertical lines directly on the chart. It also includes input validation, dynamic signal plotting, and clutter-free line management to ensure a clean and professional user experience.
Key Features
1. Customizable Signal Types
You can choose from five signal types:
RSI & CCI : Combines RSI and CCI signals for confirmation.
RSI & Stochastic : Combines RSI and Stochastic signals.
CCI & Stochastic : Combines CCI and Stochastic signals.
RSI & CCI & Stochastic : Requires all three indicators to align for a signal.
All Signals : Displays individual signals from each indicator separately.
This flexibility allows you to test and use the combination that works best for your trading strategy.
2. Clear Buy/Sell Indicators
Arrows : Buy signals are marked with upward arrows (green/lime/yellow) below the candles, while sell signals are marked with downward arrows (red/fuchsia/gray) above the candles.
Labels : Each signal is accompanied by a label ("BUY" or "SELL") near the arrow for clarity.
Vertical Lines : A vertical line is drawn at the exact bar where the signal occurs, extending from the low to the high of the candle. This ensures you can pinpoint the exact entry point without ambiguity.
3. Dynamic Overbought/Oversold Levels
You can customize the overbought and oversold levels for each indicator:
RSI: Default values are 70 (overbought) and 30 (oversold).
CCI: Default values are +100 (overbought) and -100 (oversold).
Stochastic: Default values are 80 (overbought) and 20 (oversold).
These levels can be adjusted to suit your trading preferences or market conditions.
4. Input Validation
The script includes built-in validation to ensure that oversold levels are always lower than overbought levels for each indicator. If the inputs are invalid, an error message will appear, preventing incorrect configurations.
5. Clean Chart Design
To avoid clutter, the script dynamically manages vertical lines:
Only the most recent 50 buy/sell lines are displayed. Older lines are automatically deleted to keep the chart clean.
Labels and arrows are placed strategically to avoid overlapping with candles.
6. ATR-Based Offset
The vertical lines and labels are offset using the Average True Range (ATR) to ensure they don’t overlap with the price action. This makes the signals easier to see, especially during volatile market conditions.
7. Scalable and Professional
The script uses arrays to manage multiple vertical lines, ensuring scalability and performance even when many signals are generated.
It adheres to Pine Script v6 standards, ensuring compatibility and reliability.
How It Works
Indicator Calculations :
The script calculates the values of RSI, CCI, and Stochastic Oscillator based on user-defined lengths and smoothing parameters.
It then checks for crossover/crossunder conditions relative to the overbought/oversold levels to generate individual signals.
Combined Signals :
Depending on the selected signal type, the script combines the individual signals logically:
For example, a "RSI & CCI" buy signal requires both RSI and CCI to cross into their respective oversold zones simultaneously.
Signal Plotting :
When a signal is generated, the script:
Plots an arrow (upward for buy, downward for sell) at the corresponding bar.
Adds a label ("BUY" or "SELL") near the arrow for clarity.
Draws a vertical line extending from the low to the high of the candle to mark the exact entry point.
Line Management :
To prevent clutter, the script stores up to 50 vertical lines in arrays (buy_lines and sell_lines). Older lines are automatically deleted when the limit is exceeded.
Why Use This Script?
Versatility : Whether you're a scalper, swing trader, or long-term investor, this script can be tailored to your needs by selecting the appropriate signal type and adjusting the indicator parameters.
Clarity : The combination of arrows, labels, and vertical lines ensures that signals are easy to spot and interpret, even in fast-moving markets.
Customization : With adjustable overbought/oversold levels and multiple signal options, you can fine-tune the script to match your trading strategy.
Professional Design : The script avoids clutter by limiting the number of lines displayed and using ATR-based offsets for better visibility.
How to Use This Script
Add the Script to Your Chart :
Copy and paste the script into the Pine Editor in TradingView.
Save and add it to your chart.
Select Signal Type :
Use the "Signal Type" dropdown menu to choose the combination of indicators you want to use.
Adjust Parameters :
Customize the lengths of RSI, CCI, and Stochastic, as well as their overbought/oversold levels, to match your trading preferences.
Interpret Signals :
Look for green arrows and "BUY" labels for buy signals, and red arrows and "SELL" labels for sell signals.
Vertical lines will help you identify the exact bar where the signal occurred.
Tips for Traders
Backtest Thoroughly : Before using this script in live trading, backtest it on historical data to ensure it aligns with your strategy.
Combine with Other Tools : While this script provides reliable signals, consider combining it with other tools like support/resistance levels or volume analysis for additional confirmation.
Avoid Overloading the Chart : If you notice too many signals, try tightening the overbought/oversold levels or switching to a combined signal type (e.g., "RSI & CCI & Stochastic") for fewer but higher-confidence signals.